<script>
	// tabBar页面路径列表 (用于链接跳转时判断，tabBarLinks为常量, 无需修改)
	const tabBarLinks = ['pages/recommend/recommend', 'pages/index/index', 'pages/mine/mine'];
	import { MPLOGIN } from '@/common/login';

	export default {
		globalData: {
			systemInfo: null, //系统信息
			addition: false, // 引导关注
			apiCategory: 'default',
			tabBar: [{
					pagePath: tabBarLinks[0],
					text: '推荐',
					name: 'recommend',
					iconPath: '/static/images/tabbar/recommend.png',
					selectedIconPath: '/static/images/tabbar/recommend-active.png'
				},
				{
					pagePath: tabBarLinks[1],
					text: '剧场',
					name: 'theater',
					iconPath: '/static/images/tabbar/theater.png',
					selectedIconPath: '/static/images/tabbar/theater-active.png'
				},
				{
					pagePath: tabBarLinks[2],
					text: '我的',
					name: 'mine',
					iconPath: '/static/images/tabbar/mine.png',
					selectedIconPath: '/static/images/tabbar/mine-active.png'
				}
			]
		},
		onLaunch: function(e) {
			console.log('启动参数', e);
			// #ifdef MP
			this.updateManager()
			// #endif

			uni.hideTabBar()
			// #ifdef MP-WEIXIN
			if (e.apiCategory != 'browseOnly') {
				MPLOGIN();
			}
			// #endif

			// #ifdef MP-TOUTIAO
			MPLOGIN();
			// #endif

			this.apiCategory = e.apiCategory
			this.globalData.systemInfo = uni.getSystemInfoSync();
		},
		onShow: function() {},
		onHide: function() {},
		methods: {
			//小程序主动更新
			updateManager() {
				if (!uni.canIUse("getUpdateManager")) {
					return false;
				}

				const updateManager = uni.getUpdateManager();
				updateManager.onCheckForUpdate(function(res) {
					// 请求完新版本信息的回调
					console.log('onCheckForUpdate', res)
				});
				updateManager.onUpdateReady(function(e) {
					console.log('onUpdateReady', e);
					updateManager.applyUpdate();
					// uni.showModal({
					// 	title: "更新提示",
					// 	content: "新版本已经准备好，即将重启应用",
					// 	showCancel: false,

					// 	success(res) {
					// 		if (res.confirm) {
					// 			// 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
					// 			updateManager.applyUpdate();
					// 		}
					// 	},
					// });
				});
				updateManager.onUpdateFailed(function() {
					// 新的版本下载失败
					uni.showModal({
						title: "更新提示",
						content: "新版本下载失败",
						showCancel: false,
					});
				});
			},
			//引导关注
			showAddition() {
				setTimeout(() => {
					this.globalData.addition = true;
				}, 200);
			},
			// 监听globalData
			watch(method, istr) {
				var obj = this.globalData;
				Object.defineProperty(obj, istr, {
					configurable: true,
					enumerable: true,
					set: function(value) {
						method(value);
					},
					get: function(value) {
						return value;
					}
				});
			},

			// 获取tabBar页面路径列表
			getTabBarLinks() {
				return tabBarLinks;
			},

			// 跳转到指定页面 (支持tabBar页面、支持h5页面)
			navigationTo(url) {
				if (!url || url.length == 0) {
					return false;
				}

				let tabBarLinks = this.getTabBarLinks(); // tabBar页面
				if (tabBarLinks.indexOf(url) > -1) {
					uni.switchTab({
						url: '/' + url
					});
				} else {
					var position = url.indexOf('http');
					if (0 === position) {
						// #ifndef H5
						uni.navigateTo({
							url: '/pages/h5/index?src=' + encodeURIComponent(url)
						});
						// #endif
					} else {
						// 小程序页面
						uni.navigateTo({
							url: '/' + url
						});
					}
				}
			}
		}
	};
</script>

<style>
	/*每个页面公共css */
	@import '/static/iconfont-dy.css';
</style>